package com.hhq.demo.dao;

import com.hhq.demo.bean.Courier;
import com.hhq.demo.bean.CourierList;
import com.hhq.demo.bean.Express;

import java.util.List;
import java.util.Map;

/**
 * @author HHQ
 * @date 2021年12月16日
 */
public interface CourierDao {

    /**
     * 查询控制台需要的数据
     * @return map集合数据
     */
    Map<String,Object> consoleData();


    /**
     * 查询所有快递员信息
     * @return 快递员集合
     */
    List<CourierList> listAll();

    /**
     * 分页查询快递员信息
     * @param offset 起始索引
     * @param pageNumber 每页显示数量
     * @return 快递员信息集合
     */
    List<CourierList> listLimit(Integer offset,Integer pageNumber);

    /**
     * 新增快递员
     * @param courier 快递员
     * @return 受影响的行数
     */
    int insert(Courier courier);


    /**
     * 修改快递员信息
     * @param id 要修改的快递员的id
     * @param courier 要修改的快递员的信息
     * @return 受影响的行数
     */
    int update(Integer id,Courier courier);

    /**
     * 修改快递员信息包括手机号
     * @param id 快递员id
     * @param courier 快递员信息
     * @return 受影响的行数
     */
    int updateAndPhone(Integer id, Courier courier);

    /**
     * 根据取件码删除快递员
     * @param id id
     * @return 受影响的行数
     */
    int deleteById(Integer id);

    /**
     * 根据手机号查询快递员信息
     * @param phone 快递员手机号
     * @return 快递员信息
     */
    Courier findByPhone(String phone);

    /**
     * 根据旧手机号码修改用户名
     * @param phone 旧手机号码
     * @param username 要修改的用户信息
     */
    void updateUsername(String phone, String username);

}
